# 给定一个字符串 s ，请你找出其中不含有重复字符的最长子串的长度。
#
# 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"，所以其长度为 3。
#
# 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b"，所以其长度为 1。
#
# 示例 3: 输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke"，所以其长度为 3。 请注意，你的答案必须是 子串 的长度，"pwke" 是一个子序列，不是子串。
#
# 提示： s 由英文字母、数字、符号和空格组成
import time


def str_count(s):
    ss = ""
    ss1 = ""
    for i in s:
        if i not in ss1:
            ss1 += i
        elif i not in ss:
            ss = ss[s.index(i):]
            if len(ss1) > len(ss):
                ss = ss1
            ss1 = i
    print(ss1)
    print(len(ss1))


if __name__ == "__main__":
    s = "abcabcbb"
    # s = "pwwkew"
    # s = "bbbbbbb"
    s_time = time.time()
    time.sleep(1)
    str_count(s)
    e_time = time.time()
    print("程序运行时间：", e_time - s_time)
